package com.jt.demo;

import redis.clients.jedis.Jedis;

//秒杀队列演示
//秒杀逻辑中会将商品的抢购信息写到redis(以队列形式进行存储),
//因为写redis内存数据库要比写mysql数据库快很多倍
//算法:先进先出(FIFO)-体现公平性
public class SecondKillDemo01 {
    private static Jedis jedis = new Jedis("192.168.126.129",6379);
    //商品抢购首先是入队
    static void enque(String msg){//入队
        jedis.lpush("queue",msg);

    }
    //底层异步出队(基于这个消息,生成订单,扣减库存,....)
    static String deque(){//出队
        return jedis.rpop("queue");

    }
    public static void main(String[] args) {
        //1.多次抢购(模拟在界面上多次点击操作)
        for (int i=1;i<=10;i++){
            enque(String.valueOf(i));

        }

        //从队列中获取内容(模拟后台从队列取数据)
        for (int i=1;i<=10;i++){
            System.out.print(deque());
        }


    }

}
